Skip to main content

TCP et UDP

TCP et UDP sont deux piliers des services internet : si vous avez rarement besoin de les manipuler directement cela peut vous dépanner et vous aider à effectuer des diagnotics précis :

est ce que mon soucis est lié à un firewall ? est ce qu’il est lié à un service pas lancé ? est ce que la session TCP se monte bien ?

On doit être bien capable grace à un ping, telnet ou un tcpdump bien placé de trouver directement l’origine de la panne d’un service applicatif.

Voici les cas d’usage de TCP :

transport fiable de donnée les paquets arrivent bien ordonnées il est sécurisable

Voici les cas d’usage d’UDP :

faire du temps réel être très rapide accepter de perdre des données.

Commande nc : Netcat pour les Connexions Réseau

La commande nc (Netcat) est un outil en ligne de commande permettant la transmission de données sur un réseau. À la fois simple et puissante, elle peut être utilisée dans de nombreuses tâches liées au réseau. Cette leçon couvre les utilisations fondamentales de la commande nc.

Utilisation de Base

  • Établir une Connexion

La commande nc peut établir une connexion en utilisant une adresse IP cible et un numéro de port. Par exemple, pour se connecter à l'adresse IP 192.168.1.1 sur le port 8080 :

nc 192.168.1.1 8080
  • Mode Écoute nc peut également être utilisée pour écouter un port spécifique sur un système. Par exemple, pour écouter le port 8080 :
nc -l 8080
  • Transfert de Fichiers nc peut être utilisée pour le transfert de fichiers. Par exemple, pour envoyer le contenu d'un fichier vers le port 8080 dans local:
nc -l 192.168.1.2 8080 < fichier.txt

Pour recuperer le fichier.txt en distance:

nc 192.168.1.1 8080 > output.txt

Commande telnet : Connexion à Distance en Mode Texte

La commande telnet est un outil qui permet d'établir une connexion à distance avec un serveur en utilisant le protocole Telnet. Bien que moins sécurisé que d'autres méthodes, telnet est toujours utilisé pour dépanner des problèmes réseau et tester la connectivité. Cette leçon couvre les bases de l'utilisation de la commande telnet.

  • Établir une Connexion Pour se connecter à un serveur distant, utilisez une de les commandes suivante :
telnet adresse_ip port
telnet 192.168.1.1 80
telnet exemple.com 80

Pendant une session Telnet, vous pouvez utiliser différentes commandes. Par exemple, pour fermer une session Telnet, utilisez :

Ctrl + ] puis tapez quit

La commande telnet n'est généralement pas exécutée en mode "écoute". Telnet est principalement utilisé pour se connecter à un serveur ou à un périphérique cible.

Verifier port ouverts

Maintenant, écrivons un script court qui teste les ports ouverts d'une machine distante.

#!/bin/bash

# Script de Test des Ports Ouverts

# Adresse du serveur distant à tester
serveur_distant="sameddemet.eddi.cloud"

# Port de départ et de fin pour le test
port_depart=1
port_fin=8000

# Boucle pour tester les ports dans la plage spécifiée
for ((port=port_depart; port<=port_fin; port++)); do
# Utilisation de la commande nc pour tester la connexion au port spécifié
nc -zv -w 1 $serveur_distant $port &>/dev/null &&
echo "Le port $port est ouvert"
done

Ce script utilise la commande nc pour effectuer une analyse dans la plage de ports spécifiée.

  • L'option -z n'établit pas de connexion,
  • l'option -v affiche une sortie détaillée,
  • l'option -w 1 règle le délai d'expiration de la connexion à 1 seconde. Si la connexion n'est pas établie dans un délai d'une seconde, le processus se termine.

Il affiche ensuite sur l'écran que le port $port est ouvert si le port est effectivement ouvert.

Commande traceroute :

La commande traceroute est un outil utilisé pour suivre le chemin pris par les paquets à travers un réseau IP. Il est souvent utilisé pour diagnostiquer les problèmes de connectivité réseau et pour visualiser la route qu'un paquet prend pour atteindre sa destination.

sudo apt install traceroute
traceroute [options] [hôte ou adresse IP]

Exemple d'Utilisation;

traceroute google.fr
traceroute 8.8.8.8

N'hésitez pas à explorer davantage les options disponibles en consultant la documentation ou en utilisant la commande man traceroute dans le terminal.

Commande tcpdump :

tcpdump est un outil utilisé sur les systèmes Linux et d'autres systèmes de type Unix pour capturer, examiner et analyser le trafic réseau. Le format de base de la commande est le suivant :

tcpdump [options] [filter_expression]
  • Options -qni et Leurs Descriptions

    -q : Exécute la commande en mode "Quiet" pour produire une sortie concise plutôt que des détails étendus.

    -n : Fonctionne en mode "Numeric", affichant les adresses IP et les numéros de port sans résolution de noms.

    -i interface : Spécifie l'interface réseau à écouter. Par exemple, -i eth0 écouterait le trafic sur l'interface réseau eth0.

Exemples d'Utilisation

tcpdump -qni eth0
sudo tcpdump -qni any icmp
tcpdump -i eth0 port 80
tcpdump -i eth0 portrange 20-80